home *** CD-ROM | disk | FTP | other *** search
-
- Procedure InitMacs;
-
- Begin
- Macrosfirst:=nil;
- Macroslast:=nil;
- End;
-
-
- Procedure Entertolist(Var Name:Str10;
- Var Macroliste :Maclistptr);
-
- begin
- If Macrosfirst=nil Then
- Begin
- New(Macrosfirst);
- Macroslast:=Macrosfirst;
- End
- Else
- With Macroslast^ Do
- Begin
- New(Naechster);
- Macroslast:=Naechster;
- End;
- With Macroslast^ Do
- Begin
- Macname:=Name;
- Mac:=nil;
- MaxRecs:=0;
- Layers:=[];
- New(Mac);
- Mac^.Next:=nil;
- Macroliste:=Mac;
- Naechster:=nil;
- End;
- end;
-
-
- Function SearchinList(Var Name :Str10;
- Var Nmax :Word;
- Var Foundptr :Macptr;
- Var Macroliste :Maclistptr):Boolean;
-
-
- Var Tempptr :Macptr;
- Found :Boolean;
- C1 :Char;
- Begin
- Tempptr:=Macrosfirst;
- Found:=false;
- Nmax:=0;
- Macroliste:=nil;
- C1:=Name[1];
- While Not(Tempptr=nil) and Not(Found) Do
- Begin
- If (Tempptr^.Macname[1]=C1) and (Tempptr^.Macname=Name) Then
- Begin
- Found:=True;
- Macroliste:=Tempptr^.Mac;
- Nmax:=Tempptr^.MaxRecs;
- Foundptr:=Tempptr;
- End
- Else Tempptr:=Tempptr^.Naechster;
- End;
- Searchinlist:=Found;
- End;
-
-
- Procedure EntertoMac(Var Bildrec :Bildelement;
- Var Firstfree :Maclistptr);
-
- Begin
- With FirstFree^ Do
- Begin
- Entry:=BildRec;
- If Next=nil Then
- Begin
- New(Next);
- Next^.Next:=nil;
- End;
- FirstFree:=Next;
- End;
- End;
-
-
- Procedure ClearMacs;
- Var t1,Bldtmplist:MaclistPtr;
- t2,listtmpptr:Macptr;
- Begin
- listtmpptr:=Macrosfirst;
- While listtmpptr<>nil do
- With listtmpptr^ do
- begin
- bldtmplist:=Mac;
- While bldtmplist<>nil do
- with bldtmplist^ do
- begin
- t1:=bldtmplist;
- bldtmplist:=Next;
- Dispose(T1);
- end;
- Mac:=nil;
- t2:=listtmpptr;
- Listtmpptr:=Naechster;
- dispose(t2);
- end;
- Macrosfirst:=nil;
- Macroslast:=nil;
- End;
-